#if !defined(AFX_MANUALUVCHAMBER_H__847219A6_A2F9_4E5B_83AC_D7B37F2A3B49__INCLUDED_)
#define AFX_MANUALUVCHAMBER_H__847219A6_A2F9_4E5B_83AC_D7B37F2A3B49__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ManualUVChamber.h : header file
//
#include "Util\MinButton.h"
#include "Util\MinLabel.h"

// Control Layer
class IUVChamber;
// Process Layer
class IAutoManager;
class ITrsUVChamber;
// Common Layer
class CDMControlCenter;
class CErrorCodeData;
class CSystemData;
class CModelData;

/////////////////////////////////////////////////////////////////////////////
// CManualUVChamber dialog
#define MAX_UVCHAMBER_PUSH_SW	6

class CManualUVChamber : public CDialog
{
private:

	IUVChamber* m_lnkUVChamber;
	ITrsUVChamber* m_lnkTrsUVChamber;
	
	CErrorCodeData* m_lnkErrorCodeData;
	CSystemData* m_lnkSystemData;
	CModelData* m_lnkModelData;
	
	
	void ErrorDisplay(int nErrorCode);
	BOOL m_bErrorDisplay;

	BOOL StartInitFlag;
	BOOL m_bOldStatusPush[MAX_UVCHAMBER_PUSH_SW];

// Construction
public:
	UINT m_TimerID;
	BOOL m_TimerInitFlag;

	CManualUVChamber(IAutoManager* pAM, CDMControlCenter* pDMCC,CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CManualUVChamber)
	enum { IDD = IDD_MANUAL_UVCHAMBER };
	CMinButton	m_bWaferUp;
	CMinButton	m_bWaferDown;
	CMinButton	m_bDoorOpen;
	CMinButton	m_bDoorClose;
	CMinButton	m_bExit;
	CMinButton	m_bChamberOpen;
	CMinButton	m_bChamberClose;
	//}}AFX_DATA

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CManualUVChamber)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	void ButtonInitial();
	void ButtonUpdate();
	// Generated message map functions
	//{{AFX_MSG(CManualUVChamber)
	afx_msg void OnChamberOpen();
	afx_msg void OnChamberClose();
	afx_msg void OnWaferUp();
	afx_msg void OnWaferDown();
	afx_msg void OnDoorOpen();
	afx_msg void OnDoorClose();
	afx_msg void OnExit();
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnDestroy();
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MANUALUVCHAMBER_H__847219A6_A2F9_4E5B_83AC_D7B37F2A3B49__INCLUDED_)
